#include <algorithm>
#include <string>
#include <memory>
#include "navi_pure_pursuit_controller/pure_pursuit_controller.hpp"

namespace navi_pure_pursuit_controller
{

    void PurePursuitController::configure(
        const rclcpp_lifecycle::LifecycleNode::WeakPtr &parent,
        std::string name)
    {
        RCLCPP_INFO(logger_, "configure");
        node_ = parent;

        auto node = node_.lock();

        logger_ = node->get_logger();
        RCLCPP_INFO(logger_, "configure name=%s)", name.c_str());
    }

    void PurePursuitController::cleanup()
    {
        RCLCPP_INFO(logger_, "cleanup");
    }

    void PurePursuitController::activate()
    {
        RCLCPP_INFO(logger_, "activate");
    }

    void PurePursuitController::deactivate()
    {
        RCLCPP_INFO(logger_, "deactivate");
    }

    void PurePursuitController::setSpeedLimit(const double &speed_limit, const bool &percentage)
    {
        (void)speed_limit;
        (void)percentage;
        RCLCPP_INFO(logger_, "setSpeedLimit speed_limit= %f,percentage=%d)", speed_limit, percentage);
    }

    void PurePursuitController::setPlan()
    {
        RCLCPP_INFO(logger_, "PurePursuitController setPlan");
    }

} // namespace navi_pure_pursuit_controller
#include "pluginlib/class_list_macros.hpp"
PLUGINLIB_EXPORT_CLASS(navi_pure_pursuit_controller::PurePursuitController, navi_core::Controller)